package com.ziq.zcamp.bean.place

import com.donkingliang.groupedadapter.holder.BaseViewHolder

abstract class DetailGroup {
    abstract fun getHeaderViewType(groupPosition: Int): Int

    open fun getFooterViewType(groupPosition: Int): Int {return 0}

    abstract fun getChildViewType(groupPosition: Int, childPosition: Int): Int

    abstract fun getChildrenCount(): Int

    abstract fun hasHeader(groupPosition: Int): Boolean

    abstract fun hasFooter(groupPosition: Int): Boolean

    abstract fun onBindHeaderViewHolder(holder: BaseViewHolder?, groupPosition: Int)

    abstract fun onBindChildViewHolder(holder: BaseViewHolder?, groupPosition: Int, childPosition: Int)

    open fun onBindFooterViewHolder(holder: BaseViewHolder?, groupPosition: Int){}
}